package org.example.new_hbps_backend_reconstruction.utils;

import lombok.experimental.UtilityClass;
import org.example.new_hbps_backend_reconstruction.holder.SpringContextHolder;
import org.springframework.context.MessageSource;

import java.util.Locale;

/**
 * @author 丁利军
 * @date 2025年10月10日 16:12
 * @description TODO: 描述
 */

@UtilityClass
public class MsgUtils {

    /**
     * 通过code 获取中文错误信息
     * @param code
     * @return
     */
    public String getMessage(String code) {
        MessageSource messageSource = SpringContextHolder.getBean("messageSource");
        return messageSource.getMessage(code, null, Locale.CHINA);
    }

    /**
     * 通过code 和参数获取中文错误信息
     * @param code
     * @return
     */
    public String getMessage(String code, Object... objects) {
        MessageSource messageSource = SpringContextHolder.getBean("messageSource");
        return messageSource.getMessage(code, objects, Locale.CHINA);
    }

    /**
     * security 通过code 和参数获取中文错误信息
     * @param code
     * @return
     */
    public String getSecurityMessage(String code, Object... objects) {
        MessageSource messageSource = SpringContextHolder.getBean("securityMessageSource");
        return messageSource.getMessage(code, objects, Locale.CHINA);
    }

}
